An AO System for OO-GPU Programming

نویسندگان

  • Andrea Fornaia
  • Christian Napoli
  • Giuseppe Pappalardo
  • Emiliano Tramontana
چکیده

Recent technologies, like general purpose computing GPU, have a major limitation consisting in the difficulties that developers face when implementing parallel code using deviceoriented languages. This paper aims to assist developers by automatically producing snippets of code handling GPU-oriented tasks. Our proposed approach is based on Aspect-OrientedProgramming and generates modules in CUDA C compliant code, which are encapsulated and connected by means of JNI. By means of a set of predefined functions we separate the application code from device-dependent concerns, including device memory allocation and management. Moreover, bandwidth utilisation and cores occupancy is automatically handled in order to minimise the overhead caused by host to device communications and the computational imbalance, which often tampers with the effective speedup of a GPU parallelised code. Keywords—Code generation, GPU programming, separation of concerns.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Object Metrics for Aspect Systems: Limiting Empirical Inference Based on Modularity

In empirical comparisons of Aspect-Oriented (AO) to ObjectOriented (OO) systems, system properties such as understandability, maintainability, reusability, and testability have often been inferred from other metrics, such as lines of code, sites of change, and modularity. However, in traditional OO metrics suites such system properties are assessed separately from these measures. We applied OO ...

متن کامل

Impact of Aspect Oriented Programming on Software Development Quality Metrics

The aspect-oriented programming (AOP) is a new paradigm for improving the system’s features such as modularity, readability and maintainability. Owing to a better modularisation of cross-cutting concerns, the developed system implementation would be less complex, and more readable.Thus, software development efficiency would increase, so the system would be created faster than its objectoriented...

متن کامل

Aspect-Oriented Formal Modeling: (AspectZ + Object-Z) = OOAspectZ

The aspect-oriented software development (AOSD) paradigm permits modularizing crosscutting concerns of base modules, a non-usual task in other software development paradigms. Since AOSD was born in the programming stage as an extension of an object-oriented (OO) programming language, and AOSD considers, in addition to base modules, new modules named aspects, then a complete AOSD process require...

متن کامل

Modularization of Crosscutting Concerns in Requirements Engineering

In spite of the generated benefits, Object-Oriented (OO) paradigm seems reaching its limits, regarding complexity reduction of current systems. In this context, the Aspect Oriented (AO) comes up as an alternative to reduce software development complexity while keeping OO advantages. Needs for investigating methodologies of AO Software Development have emerged a long with AO. As an example, Earl...

متن کامل

Refactoring to Aspects – an Experiment

Aspect-oriented (AO) programming proposes a solution to the crosscutting problem in Object-oriented (OO) programming by supporting the modularization of crosscutting concerns with new composition mechanisms. This paper evaluates the solution through aspect mining two existing Java code-bases and then refactoring crosscutting concerns found in them into aspects using AspectJ. It documents the pr...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015